home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Spanish Scene 1
/
SpanishScene1.iso
/
spanish pack n°1 by llfb
/
--llfb--
/
programas
/
sources1.dms
/
sources1.adf
/
SOURCES
/
Campos_de_estrellas
/
3DStars2.ASM
< prev
Wrap
Assembly Source File
|
1996-06-04
|
9KB
|
413 lines
; MADE BY EKINOX
; TYPICAL STAR ROUTINE
section STARS,code_c
POINTS equ 150
AREAS equ $7ff
AREASZ equ $fff
DISTANCE equ 900
movem.l d0-a6,-(a7)
bsr METEPLANO
bsr PREPTAB
bsr INTERRUPTS
bsr PROGRAM
bsr END
movem.l (a7)+,d0-a6
rts
METEPLANO
lea PLANING(pc),a0
move.l #SHOW,d0
moveq #2,d7
METE2 move.w d0,6(a0)
swap d0
move.w d0,2(a0)
swap d0
add.l #40,d0
addq #8,a0
dbra d7,METE2
rts
PREPTAB
lea COORDS(pc),a0
move.w #POINTS-1,d7
move.w #AREAS/2,d3
move.w #100,d4 ;#AREASZ/2,d4
PREPT2 bsr RANDOM
and.l #AREAS,d2
sub.w d3,d2
move.w d2,(a0)+
bsr RANDOM
and.l #AREAS,d2
sub.w d3,d2
move.w d2,(a0)+
bsr RANDOM
and.l #AREASZ,d2
sub.w d4,d2
move.w d2,(a0)+
dbra d7,PREPT2
rts
RANDOM
MOVE.L RND1,A2
MOVE.L (A2),D2
ADD.L #$5000,A2
MOVE.L (A2),D1
EOR.L D1,D2
MOVE.L RND2,D1
ADD.L #$42F54F32,D2
EOR.L D1,D2
ADD.W $DFF006,D2
EOR.L #$DFF546,D2
MOVE.L D2,RND2
ADD.L #4,RND1
RTS
RND1 DC.L 0
RND2 DC.L 0
INTERRUPTS
lea $dff000,a6
move.w $2(a6),SAVEDMA
move.w $1c(a6),SAVEINT
move.w $1e(a6),SAVEIRQ
move.w #$7fff,d0
move.w d0,$96(a6)
move.w d0,$9a(a6)
move.w d0,$9c(a6)
move.w #%1000011111100000,$96(a6)
move.w #$c000,$9a(a6)
move.l #COPPER,$84(a6)
clr.w $8a(a6)
rts
END lea SAVEDMA(pc),a0
ori.b #$80,(a0)
ori.b #$80,2(a0)
ori.b #$80,4(a0)
move.w (a0)+,$96(a6)
move.w (a0)+,$9a(a6)
move.w (a0)+,$9c(a6)
rts
SAVEDMA
DC.W 0
SAVEINT
DC.W 0
SAVEIRQ
DC.W 0
PROGRAM
cmp.b #$2c,$6(a6)
bne.s PROGRAM
bsr BORRA
bsr CALCPOINTS
BBUSY2 btst #14,$2(a6)
bne.s BBUSY2
bsr PSET
; move.w $a(a6),d0
; lsr.w #8,d0
; ext.w d0
; move.w d0,INCR
btst #6,$bfe001
bne.s PROGRAM
rts
BORRA
movem.l ACTSCREEN(pc),d0/d1
exg d0,d1
movem.l d0/d1,ACTSCREEN
lea PLANING(pc),a0
moveq #2,d7
BOR2 move.w d1,6(a0)
swap d1
move.w d1,2(a0)
swap d1
add.l #40,d1
addq #8,a0
dbra d7,BOR2
BBUSY btst #14,$2(a6)
bne.s BBUSY
move.l d0,$54(a6)
move.l #$1000000,$40(a6)
move.l #-1,$44(a6)
move.l #0,$64(a6)
move.w #(768*64)+20,$58(a6)
rts
CALCPOINTS
lea COORDS(pc),a0
lea XEYS(pc),a1
; add.w #1,INCR
movem.w INCR(pc),d3-d5
move.w #POINTS-1,d7
CALC2 movem.w (a0)+,d0-d2
add.w d3,d0
cmp.w #AREAS/2,d0
blt.s CALC3
sub.w #AREAS,d0
CALC3 add.w d4,d1
add.w d5,d2
cmp.w #-150,d2
bls.s CALC4
move.w #AREASZ,d2
CALC4
movem.w d0-d2,-6(a0)
vpoint:
move.l #DISTANCE,d6 ; distance to v.point
add.w d2,d6 ; add z-offset
ext.l d0
asl.l #8,d0
; muls #256,d0
divs d6,d0
ext.l d1
asl.l #8,d1
; muls #256,d1
divs d6,d1
vpos:
add.w #160,d0
add.w #100,d1
lsr.w #8,d2
lsr.w #1,d2
move.w d0,(a1)+
move.w d1,(a1)+
move.w d2,(a1)+
dbra d7,CALC2
rts
PSET lea XEYS(pc),a0
lea TABROUT(pc),a1
move.l ACTSCREEN(pc),a5
move.w #POINTS-1,d7
PSET2 move.w (a0),d0
bmi.s PSETFIN
cmp.w #320,d0
bhi.s PSETFIN
move.w 2(a0),d1
bmi.s PSETFIN
cmp.w #256,d1
bhi.s PSETFIN
move.w d1,d2
; asl.w #5,d1
; asl.w #3,d2
muls #120,d1
; add.w d2,d1
move.w d0,d2
asr.w #3,d0
andi.w #7,d2
not.b d2
add.w d0,d1
move.w 4(a0),d3
and.w #$7,d3
lsl.w #2,d3
move.l (a1,d3.w),a4
jsr (a4)
; bset d2,(a5,d1.w)
PSETFIN addq #6,a0
dbra d7,PSET2
rts
TABROUT dc.l TINT1,TINT2,TINT3,TINT4,TINT5,TINT6,TINT7,TINT8
TINT1 bset d2,(a5,d1.w)
rts
TINT2 bset d2,40(a5,d1.w)
rts
TINT3 bset d2,(a5,d1.w)
bset d2,40(a5,d1.w)
rts
TINT4 bset d2,80(a5,d1.w)
rts
TINT5 bset d2,80(a5,d1.w)
bset d2,(a5,d1.w)
rts
TINT6 bset d2,80(a5,d1.w)
bset d2,40(a5,d1.w)
rts
TINT7 bset d2,(a5,d1.w)
bset d2,40(a5,d1.w)
bset d2,80(a5,d1.w)
rts
TINT8 rts
INCR dc.w 10,0,-20
COORDS dcb.w POINTS*3,0
XEYS dcb.w POINTS*3,0
angles:
dc.w $0000,$023c,$0478,$06b3,$08ee,$0b28,$0d61,$0f99
dc.w $11d0,$1406,$163a,$186c,$1a9d,$1ccb,$1ef7,$2121
dc.w $2348,$256c,$278e,$29ac,$2bc7,$2ddf,$2ff3,$3203
dc.w $3410,$3618,$381c,$3a1c,$3c17,$3e0e,$3fff,$41ec
dc.w $43d4,$45b6,$4793,$496a,$4b3c,$4d08,$4ecd,$508d
dc.w $5246,$53f9,$55a5,$574b,$58ea,$5a82,$5c13,$5d9c
dc.w $5f1f,$609a,$620d,$6379,$64dd,$6639,$678d,$68d9
dc.w $6a1d,$6b59,$6c8c,$6db7,$6ed9,$6ff3,$7104,$720c
dc.w $730b,$7401,$74ee,$75d2,$76ad,$777f,$7847,$7906
dc.w $79bb,$7a67,$7b0a,$7ba2,$7c32,$7cb7,$7d33,$7da5
dc.w $7e0d,$7e6c,$7ec0,$7f0b,$7f4c,$7f82,$7faf,$7fd2
dc.w $7feb,$7ffa,$7fff,$7ffa,$7feb,$7fd2,$7faf,$7f82
dc.w $7f4b,$7f0b,$7ec0,$7e6c,$7e0d,$7da5,$7d33,$7cb7
dc.w $7c32,$7ba2,$7b0a,$7a67,$79bb,$7906,$7847,$777f
dc.w $76ad,$75d2,$74ee,$7401,$730b,$720c,$7104,$6ff3
dc.w $6ed9,$6db7,$6c8c,$6b59,$6a1d,$68d9,$678d,$6639
dc.w $64dd,$6379,$620d,$609a,$5f1f,$5d9c,$5c13,$5a82
dc.w $58ea,$574b,$55a5,$53f9,$5246,$508d,$4ecd,$4d08
dc.w $4b3c,$496a,$4793,$45b6,$43d4,$41ec,$4000,$3e0e
dc.w $3c17,$3a1c,$381c,$3618,$3410,$3203,$2ff3,$2ddf
dc.w $2bc7,$29ac,$278e,$256c,$2348,$2121,$1ef7,$1ccb
dc.w $1a9d,$186c,$163a,$1406,$11d0,$0f99,$0d61,$0b28
dc.w $08ee,$06b3,$0478,$023c,$0000,$fdc4,$fb89,$f94d
dc.w $f712,$f4d8,$f29f,$f067,$ee30,$ebfa,$e9c6,$e794
dc.w $e564,$e335,$e109,$dedf,$dcb8,$da94,$d873,$d654
dc.w $d439,$d222,$d00d,$cdfd,$cbf1,$c9e8,$c7e4,$c5e4
dc.w $c3e9,$c1f2,$c001,$be14,$bc2c,$ba4a,$b86d,$b696
dc.w $b4c4,$b2f9,$b133,$af73,$adba,$ac07,$aa5b,$a8b5
dc.w $a716,$a57e,$a3ee,$a264,$a0e2,$9f67,$9df3,$9c87
dc.w $9b23,$99c7,$9873,$9727,$95e3,$94a7,$9374,$9249
dc.w $9127,$900e,$8efd,$8df5,$8cf5,$8bff,$8b12,$8a2e
dc.w $8953,$8882,$87b9,$86fa,$8645,$8599,$84f6,$845e
dc.w $83ce,$8349,$82cd,$825b,$81f3,$8194,$8140,$80f5
dc.w $80b5,$807e,$8051,$802e,$8015,$8006,$8001,$8006
dc.w $8015,$802e,$8051,$807e,$80b4,$80f5,$8140,$8194
dc.w $81f3,$825b,$82cd,$8349,$83ce,$845d,$84f6,$8599
dc.w $8645,$86fa,$87b9,$8881,$8953,$8a2e,$8b12,$8bff
dc.w $8cf5,$8df4,$8efc,$900d,$9127,$9249,$9374,$94a7
dc.w $95e3,$9727,$9873,$99c7,$9b23,$9c87,$9df3,$9f66
dc.w $a0e1,$a263,$a3ed,$a57e,$a716,$a8b5,$aa5a,$ac06
dc.w $adb9,$af73,$b132,$b2f8,$b4c4,$b695,$b86c,$ba49
dc.w $bc2c,$be13,$c000,$c1f2,$c3e8,$c5e4,$c7e3,$c9e7
dc.w $cbf0,$cdfc,$d00d,$d221,$d438,$d653,$d872,$da93
dc.w $dcb8,$dedf,$e108,$e334,$e563,$e793,$e9c5,$ebf9
dc.w $ee2f,$f066,$f29e,$f4d7,$f712,$f94c,$fb88,$fdc3
dc.w $7fff,$7ffa,$7feb,$7fd2,$7faf,$7f82,$7f4c,$7f0b
dc.w $7ec0,$7e6c,$7e0d,$7da5,$7d33,$7cb7,$7c32,$7ba2
dc.w $7b0a,$7a67,$79bb,$7906,$7847,$777f,$76ad,$75d2
dc.w $74ee,$7401,$730b,$720c,$7104,$6ff3,$6ed9,$6db7
dc.w $6c8c,$6b59,$6a1d,$68d9,$678d,$6639,$64dd,$6379
dc.w $620d,$609a,$5f1f,$5d9c,$5c13,$5a82,$58ea,$574b
dc.w $55a5,$53f9,$5246,$508d,$4ecd,$4d08,$4b3c,$496a
dc.w $4793,$45b6,$43d4,$41ec,$3fff,$3e0e,$3c17,$3a1c
dc.w $381c,$3618,$3410,$3203,$2ff3,$2ddf,$2bc7,$29ac
dc.w $278e,$256c,$2348,$2121,$1ef7,$1ccb,$1a9d,$186c
dc.w $163a,$1406,$11d0,$0f99,$0d61,$0b28,$08ee,$06b3
dc.w $0478,$023c,$0000,$fdc4,$fb88,$f94d,$f712,$f4d8
dc.w $f29f,$f067,$ee30,$ebfa,$e9c6,$e794,$e563,$e335
dc.w $e109,$dedf,$dcb8,$da94,$d872,$d654,$d439,$d221
dc.w $d00d,$cdfd,$cbf0,$c9e8,$c7e4,$c5e4,$c3e9,$c1f2
dc.w $c000,$be14,$bc2c,$ba4a,$b86d,$b696,$b4c4,$b2f8
dc.w $b133,$af73,$adba,$ac07,$aa5b,$a8b5,$a716,$a57e
dc.w $a3ed,$a264,$a0e1,$9f66,$9df3,$9c87,$9b23,$99c7
dc.w $9873,$9727,$95e3,$94a7,$9374,$9249,$9127,$900d
dc.w $8efc,$8df4,$8cf5,$8bff,$8b12,$8a2e,$8953,$8881
dc.w $87b9,$86fa,$8645,$8599,$84f6,$845e,$83ce,$8349
dc.w $82cd,$825b,$81f3,$8194,$8140,$80f5,$80b5,$807e
dc.w $8051,$802e,$8015,$8006,$8001,$8006,$8015,$802e
dc.w $8051,$807e,$80b4,$80f5,$8140,$8194,$81f3,$825b
dc.w $82cd,$8349,$83ce,$845d,$84f6,$8599,$8645,$86fa
dc.w $87b9,$8881,$8953,$8a2e,$8b12,$8bff,$8cf5,$8df4
dc.w $8efc,$900d,$9127,$9249,$9374,$94a7,$95e3,$9727
dc.w $9873,$99c7,$9b23,$9c87,$9df3,$9f66,$a0e1,$a264
dc.w $a3ed,$a57e,$a716,$a8b5,$aa5a,$ac07,$adba,$af73
dc.w $b132,$b2f8,$b4c4,$b695,$b86d,$ba4a,$bc2c,$be13
dc.w $c000,$c1f2,$c3e9,$c5e4,$c7e4,$c9e8,$cbf0,$cdfd
dc.w $d00d,$d221,$d439,$d654,$d872,$da93,$dcb8,$dedf
dc.w $e109,$e335,$e563,$e793,$e9c6,$ebfa,$ee2f,$f066
dc.w $f29e,$f4d8,$f712,$f94d,$fb88,$fdc4,$0000,$023b
dc.w $0477,$06b2,$08ed,$0b27,$0d61,$0f99,$11d0,$1405
dc.w $1639,$186c,$1a9c,$1cca,$1ef7,$2120,$2347,$256c
dc.w $278d,$29ab,$2bc6,$2dde,$2ff2,$3203,$340f,$3617
dc.w $381c,$3a1b,$3c17,$3e0d,$3fff,$41ec,$43d3,$45b6
dc.w $4793,$496a,$4b3b,$4d07,$4ecd,$508c,$5246,$53f9
dc.w $55a5,$574b,$58e9,$5a81,$5c12,$5d9c,$5f1e,$6099
dc.w $620d,$6378,$64dc,$6639,$678d,$68d9,$6a1d,$6b58
dc.w $6c8c,$6db6,$6ed9,$6ff2,$7103,$720b,$730a,$7401
dc.w $74ee,$75d2,$76ad,$777e,$7847,$7906,$79bb,$7a67
dc.w $7b09,$7ba2,$7c32,$7cb7,$7d33,$7da5,$7e0d,$7e6b
dc.w $7ec0,$7f0b,$7f4b,$7f82,$7faf,$7fd2,$7feb,$7ffa
COPPER
DC.W $0100,$3200,$008E,$2C81,$0090,$2CC1
DC.W $0092,$0038,$0094,$00D0
DC.W $0108,80,$010A,80
COL1 DC.W $0180,$0000,$0182,$0FFF,$0184,$0ddd,$0186,$0bbb
dc.w $0188,$0999,$018a,$0777,$018c,$0555,$018e,$0333
PLANING DC.W $00E0,$0000,$00E2,$0000
DC.W $00E4,$0000,$00E6,$0000
DC.W $00E8,$0000,$00EA,$0000
SPRITES DC.W $0120,$0000,$0122,$0000
DC.W $0124,$0000,$0126,$0000
DC.W $0128,$0000,$012A,$0000
DC.W $012C,$0000,$012E,$0000
DC.W $0130,$0000,$0132,$0000
DC.W $0134,$0000,$0136,$0000
DC.W $0138,$0000,$013A,$0000
DC.W $013C,$0000,$013E,$0000
FINAL DC.W $FFFF,$FFFE
ACTSCREEN
dc.l SHOW,SHOW2
SHOW dcb.b 10240*3
SHOW2 dcb.b 10240*3